Resuming playback on multiple streaming devices

ABSTRACT

Disclosed herein are system, apparatus, article of manufacture, method and/or computer program product embodiments, and/or combinations and sub-combinations thereof, for transferring streaming media playback between streaming media devices. In an example embodiment, a user may be streaming content using a first media device. The user may then send a command to the first media device to transfer the streaming content to a second media device. The first media device may identify the second media device as being on a common network and transmit a wake command to the second media device as well as media playback state information indicating a playback position to resume playback. In some embodiments, the first media device may download the media playback state information onto a mobile device. The mobile device may then provide the media playback state information to the second media device to resume playback at the first media device&#39;s playback position.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.17/389,568, filed Jul. 30, 2021, the entirety of which is incorporatedherein by reference.

BACKGROUND Field

This disclosure is generally directed to streaming media, and moreparticularly to the transfer of playback between multiple streamingdevices.

Background

Consumers commonly stream media such as a movie or TV show in theirhomes.

When streaming this media, consumers may switch rooms or use a differentdevice to consume the streaming media. For example, while streaming amovie in a living room, the consumer may wish to move to a bedroom andcontinue to stream the movie in this new space. When changing rooms,however, the user may face the cumbersome task of setting up the streamat the new location to the playback position of the previous location.In such cases, the user may potentially waste time selecting thestreaming channel, identifying streaming media within the channel, andthen identifying the previous playback position. Further, the user mayface difficulties when trying to accurately identify the playbackposition.

SUMMARY

Provided herein are system, apparatus, article of manufacture, methodand/or computer program product embodiments, and/or combinations andsub-combinations thereof, for transferring streaming media playbackbetween streaming media devices.

In some embodiments, a user may be streaming media in a first room usinga first media device. For example, the user may be viewing a movie or TVshow on a display device via a streaming media device. The user may thenwish to change to a second room or use a second media device to continuestreaming the media. The user, however, may wish to resume the playbackof the streaming media at the same position when using the second mediadevice without the burden of locating the channel, the streamingcontent, and the playback position again.

To resume playback of content while avoiding these burdens, an exampleembodiment operates by a first media device communicating with a secondmedia device. The first and second media devices may share a commonnetwork, such as a home network or WiFi network. A user may view contentusing the first media device. The user may supply a command to the firstmedia device indicating a transfer of playback to the second mediadevice. This command may be provided by a selection on a menu displayedby the first media device on a display device. In some embodiments, themenu may be displayed on a remote control or a mobile device. The usermay provide a menu selection using the remote control and/or the mobiledevice. In some embodiments, the user may provide a voice command totransfer the playback. The user may specify the second media deviceand/or may generally indicate that playback is to be transferred.

Upon receiving a command to transfer the playback, the first mediadevice may transmit a command to wake the second media device indicatingthat the second media device is to resume playback of the streamingmedia. This command may be directly sent to the second media device viathe common network. In some embodiments, the command may place thesecond media device in a standby mode to further be powered on by aremote control and/or a mobile device interacting with the second mediadevice.

The first media device may also transmit media playback stateinformation to the second media device. This information may include aplayback position to resume playback of the media on the second mediadevice. This information may also include a channel and/or contentidentifier informing the second media device of how to retrieve thepreviously played content. Using this information, the second mediadevice may identify a content provider from a plurality of contentproviders as well as the particular content supplied by that contentprovider. Using the playback position information received from thefirst media device, the second media device may resume the playback ofthe content that the user was previously viewing.

In some embodiments, the first media device may periodically broadcastdata and/or metadata corresponding to a stream to the second mediadevice and/or other media devices sharing a common network. The data mayinclude a channel identification, content identification, and/orposition information. The first media device may provide this data inthe background without user input. The first media device may providethis information via a network such as a via a WiFi connection. Thesecond media device and/or other media devices may listen for broadcastmessages from the first media device. The second media device and/orother media devices may store the media playback state informationlocally. When the user picks up a remote control that is paired to thesecond media device, the second media device may prompt the user toprovide a resume command. For example, the second media device may wakeand/or provide a display on a display device with this prompt. The usermay provide the resume command via a remote control and/or a mobiledevice. When the user confirms the resume, the second media device mayresume playback using the media playback state information received fromthe first media device. The second media device may also transmit acommand to the first media device which terminates the stream on thefirst media device. The second media device may also turn off a displaydevice such as a TV coupled to the first media device.

In some embodiments, rather than transmitting the media playback stateinformation to the second media device, the first media device maydownload the media playback state information to an application storedon a mobile device, such as a smartphone, tablet, or remote control. Forexample, the mobile device may transmit a command to the first mediadevice to transfer playback. The first media device may then transmitthe media playback state information indicating a playback position tothe mobile device. The mobile device may then transmit the mediaplayback state information to the second media device to resumeplayback. In some embodiments, the user may supply a command to themobile device to select the desired second media device. The mediaplayback state information may include a channel identification, contentidentification, and/or playback position information. Using thisinformation, the second media device may identify the particular contentserver and/or content to retrieve the content to stream. The secondmedia device may also identify the same playback position identified bythe first media device.

In some embodiments, the first media device may store playback positionon a system server. This system server may reside in a differentlocation from the first and second media devices and may be accessed viathe Internet or WAN. The system server may track profile informationand/or playback positions corresponding to content viewed by a user. Inthis case, when the user uses the second media device, the second mediadevice may communicate with the system server to receive the playbackposition information and/or other media playback state information.

BRIEF DESCRIPTION OF THE FIGURES

The accompanying drawings are incorporated herein and form a part of thespecification.

FIG. 1 illustrates a block diagram of a multimedia environment,according to some embodiments.

FIG. 2 illustrates a block diagram of a streaming media device,according to some embodiments.

FIG. 3A illustrates a block diagram of a multimedia environment forchanging streaming playback from a first media device to a second mediadevice, according to some embodiments.

FIG. 3B illustrates a block diagram of a multimedia environment forchanging streaming playback from a first media device to a second mediadevice via a mobile device, according to some embodiments.

FIG. 4 illustrates a flowchart depicting a method for transferring mediaplayback from a first media device to a second media device, accordingto some embodiments.

FIG. 5 illustrates interactions between a mobile device application, afirst media device, and a second media device to transfer media playbackvia the mobile device application, according to some embodiments.

FIG. 6 illustrates a flowchart depicting a method for transferring mediaplayback from a first media device to a second media device via a mobiledevice application, according to some embodiments.

FIG. 7 illustrates an example computer system useful for implementingvarious embodiments.

In the drawings, like reference numbers generally indicate identical orsimilar elements. Additionally, generally, the left-most digit(s) of areference number identifies the drawing in which the reference numberfirst appears.

DETAILED DESCRIPTION

Provided herein are system, apparatus, device, method and/or computerprogram product embodiments, and/or combinations and sub-combinationsthereof, for transferring streaming media playback between streamingmedia devices.

Various embodiments of this disclosure may be implemented using and/ormay be part of a multimedia environment 102 shown in FIG. 1 . It isnoted, however, that multimedia environment 102 is provided solely forillustrative purposes, and is not limiting. Embodiments of thisdisclosure may be implemented using and/or may be part of environmentsdifferent from and/or in addition to the multimedia environment 102, aswill be appreciated by persons skilled in the relevant art(s) based onthe teachings contained herein. An example of the multimedia environment102 shall now be described.

Multimedia Environment

FIG. 1 illustrates a block diagram of a multimedia environment 102,according to some embodiments. In a non-limiting example, multimediaenvironment 102 may be directed to streaming media. However, thisdisclosure is applicable to any type of media (instead of or in additionto streaming media), as well as any mechanism, means, protocol, methodand/or process for distributing media.

The multimedia environment 102 may include one or more media systems104. A media system 104 could represent a family room, a kitchen, abackyard, a home theater, a school classroom, a library, a car, a boat,a bus, a plane, a movie theater, a stadium, an auditorium, a park, abar, a restaurant, or any other location or space where it is desired toreceive and play streaming content. User(s) 132 may operate with themedia system 104 to select and consume content. In some embodiments,multimedia environment 102 may be a home with multiple media systems 104in the same or different rooms.

Each media system 104 may include one or more media devices 106 eachcoupled to one or more display devices 108. It is noted that terms suchas “coupled,” “connected to,” “attached,” “linked,” “combined” andsimilar terms may refer to physical, electrical, magnetic, logical,etc., connections, unless otherwise specified herein.

Media device 106 may be a streaming media device, DVD or BLU-RAY device,audio/video playback device, cable box, and/or digital video recordingdevice, to name just a few examples. Display device 108 may be amonitor, television (TV), computer, smart phone, tablet, wearable (suchas a watch or glasses), appliance, internet of things (IoT) device,and/or projector, to name just a few examples. In some embodiments,media device 106 can be a part of, integrated with, operatively coupledto, and/or connected to its respective display device 108.

Each media device 106 may be configured to communicate with network 118via a communication device 114. The communication device 114 mayinclude, for example, a cable modem or satellite TV transceiver. Themedia device 106 may communicate with the communication device 114 overa link 116, wherein the link 116 may include wireless (such as WiFi)and/or wired connections. Communication device 114 may provide awireless and/or wired connection between multiple media devices 106,such that the media devices 106 share a common network. This commonnetwork may be, for example, a private, public, and/or home network.

In various embodiments, the network 118 can include, without limitation,wired and/or wireless intranet, extranet, Internet, cellular, Bluetooth,infrared, and/or any other short range, long range, local, regional,global communications mechanism, means, approach, protocol and/ornetwork, as well as any combination(s) thereof.

Media system 104 may include a remote control 110. The remote control110 can be any component, part, apparatus and/or method for controllingthe media device 106 and/or display device 108, such as a remotecontrol, a tablet, laptop computer, smartphone, wearable, on-screencontrols, integrated control buttons, audio controls, or any combinationthereof, to name just a few examples. In an embodiment, the remotecontrol 110 wirelessly communicates with the media device 106 and/ordisplay device 108 using cellular, Bluetooth, infrared, etc., or anycombination thereof. The remote control 110 may include a microphone112, which is further described below.

The multimedia environment 102 may include a plurality of contentservers 120 (also called content providers, channels, or sources 120).Although only one content server 120 is shown in FIG. 1 , in practicethe multimedia environment 102 may include any number of content servers120. Each content server 120 may be configured to communicate withnetwork 118.

Each content server 120 may store content 122 and metadata 124. Content122 may include any combination of music, videos, movies, TV programs,multimedia, images, still pictures, text, graphics, gaming applications,advertisements, programming content, public service content, governmentcontent, local community content, software, and/or any other content ordata objects in electronic form. Content servers 120 may be identifiedby channel identifications or channel IDs.

In some embodiments, metadata 124 comprises data about content 122. Forexample, metadata 124 may include associated or ancillary informationindicating or related to writer, director, producer, composer, artist,actor, summary, chapters, production, history, year, trailers, alternateversions, related content, applications, and/or any other informationpertaining or relating to the content 122. Metadata 124 may also oralternatively include links to any such information pertaining orrelating to the content 122. Metadata 124 may also or alternativelyinclude one or more indexes of content 122, such as but not limited to atrick mode index.

The multimedia environment 102 may include one or more system servers126. The system servers 126 may operate to support the media devices 106from the cloud. It is noted that the structural and functional aspectsof the system servers 126 may wholly or partially exist in the same ordifferent ones of the system servers 126.

System servers 126 may include one or more playback servers 128.Playback servers 128 may manage login credentials and/or profileinformation corresponding to media systems 104 and/or media devices 106.The profile information may include names, usernames, and/or datacorresponding to the content or media viewed by users 132. The profileinformation may also track media playback positions corresponding todifferent media streamed by media devices 106. For example, playbackservers 128 may track content 122 and/or metadata 124 streamed to mediadevices 106. Playback servers 128 may associate content 122 playbackpositions with profile information. In this manner, when a user 132accesses different media systems 104, content 122 playback positions maybe communicated to different media devices 106. In this manner, the user132 may resume playback of content 122 at the previous playback positioneven when the user 132 moves between different media systems 104 and/oruses different media devices 106.

The system servers 126 may also include an audio command processingmodule 130. As noted above, the remote control 110 may include amicrophone 112. The microphone 112 may receive audio data from users 132(as well as other sources, such as the display device 108). In someembodiments, the media device 106 may be audio responsive, and the audiodata may represent verbal commands from the user 132 to control themedia device 106 as well as other components in the media system 104,such as the display device 108. As will be further explained below, user132 may supply a verbal command to transfer playback of content 122 fromone media device 106 to another media device 106. In some embodiments,the verbal command may transfer playback to another media system 104.For example, the user 132 may supply a command indicating that playbackshould be transferred. The user may additionally specify a destinationmedia device 106 and/or media system 104 to transfer the stream ofcontent 122.

In some embodiments, the audio data received by the microphone 112 inthe remote control 110 is transferred to the media device 106, which isthen forwarded to the audio command processing module 130 in the systemservers 126. The audio command processing module 130 may operate toprocess and analyze the received audio data to recognize the user 132'sverbal command. The audio command processing module 130 may then forwardthe verbal command back to the media device 106 for processing.

In some embodiments, the audio data may be alternatively or additionallyprocessed and analyzed by an audio command processing module 216 in themedia device 106 (see FIG. 2 ). The media device 106 and the systemservers 126 may then cooperate to pick one of the verbal commands toprocess (either the verbal command recognized by the audio commandprocessing module 130 in the system servers 126, or the verbal commandrecognized by the audio command processing module 216 in the mediadevice 106).

FIG. 2 illustrates a block diagram of an example media device 106,according to some embodiments. Media device 106 may include a streamingmodule 202, processing module 204, storage/buffers 208, and userinterface module 206. As described above, the user interface module 206may include the audio command processing module 216. The media device106 may also include one or more audio decoders 212 and one or morevideo decoders 214.

Each audio decoder 212 may be configured to decode audio of one or moreaudio formats, such as but not limited to AAC, HE-AAC, AC3 (DolbyDigital), EAC3 (Dolby Digital Plus), WMA, WAV, PCM, MP3, OGG GSM, FLAC,AU, AIFF, and/or VOX, to name just some examples.

Similarly, each video decoder 214 may be configured to decode video ofone or more video formats, such as but not limited to MP4 (mp4, m4a,m4v, f4v, f4a, m4b, m4r, f4b, mov), 3GP (3gp, 3gp2, 3g2, 3gpp, 3gpp2),OGG (ogg, oga, ogv, ogx), WMV (wmy, wma, asf), WEBM, FLV, AVI,QuickTime, HDV, MXF (OP1a, OP-Atom), MPEG-TS, MPEG-2 PS, MPEG-2 TS, WAV,Broadcast WAV, LXF, GXF, and/or VOB, to name just some examples. Eachvideo decoder 214 may include one or more video codecs, such as but notlimited to H.263, H.264, HEV, MPEG1, MPEG2, MPEG-TS, MPEG-4, Theora,3GP, DV, DVCPRO, DVCPRO, DVCProHD, IMX, XDCAM HD, XDCAM HD422, and/orXDCAM EX, to name just some examples.

Now referring to both FIGS. 1 and 2 , in some embodiments, the user 132may interact with the media device 106 via, for example, the remotecontrol 110 and/or a mobile device. For example, the user 132 may usethe remote control 110 and/or mobile device to interact with the userinterface module 206 of the media device 106 to select content, such asa movie, TV show, music, book, application, game, etc. The streamingmodule 202 of the media device 106 may request the selected content fromthe content server(s) 120 over the network 118. The content server(s)120 may transmit the requested content to the streaming module 202. Themedia device 106 may transmit the received content to the display device108 for playback to the user 132.

In streaming embodiments, the streaming module 202 may transmit thecontent to the display device 108 in real time or near real time as itreceives such content from the content server(s) 120. In non-streamingembodiments, the media device 106 may store the content received fromcontent server(s) 120 in storage/buffers 208 for later playback ondisplay device 108.

As previously explained above, remote control 110 and/or a mobile devicemay also supply a command to media device 106 via user interface module206 to transfer playback of content 122 to another media device 106and/or media system 104. This command may be provided via menuselections displayed on remote control 110 and/or the mobile device. Insome embodiments, media device 106 may display a menu on display device108 via streaming module 202. The menus may allow a user 132 to specifythat streaming media is to be transfer to another media device 106. Theuser 132 may also indicate the particular media device 106 that willresume playback of the streaming media. The user may also supply anaudio command to transfer the playback of the streaming media.

Transferring Playback to Another Media Device or Media System

Within multimedia environment 102, streaming media playback may betransferred between streaming media devices 106 and/or media systems104. FIGS. 3A, 3B, 4, 5, and 6 further describe processes fortransferring and/or resuming playback on different streaming mediadevices 106.

FIG. 3A illustrates a block diagram of a multimedia environment 300A forchanging streaming playback from a first media device 306A to a secondmedia device 306B, according to some embodiments. First and second mediadevices 306A, 306B may operate in a similar manner to media device 106as described with reference to FIGS. 1 and 2 . In some embodiments,first and second media devices 306A, 306B may be located in differentmedia systems 104. For example, first and second media devices 306A,306B may be located in different rooms in a house. First and secondmedia devices 306A, 306B may be connected to display devices 308A, 308Brespectively. Display devices 308A, 308B may operate in a manner similarto display device 108 as described with reference to FIG. 1 .

First and second media devices 306A, 306B may communicate withcommunication device 314. Communication device 314 may operate in asimilar manner to communication device 114 as described with referenceto FIG. 1 . Communication device 314 may communicate with network 318.Network 318 may operate in a similar manner to network 118 as describedwith reference to FIG. 1 . In some embodiments, communication device 314and/or network 318 may provide a common shared network for first andsecond media devices 306A, 306B. For example, this may be a home networkand/or a private network. Communication device 314 may connect first andsecond media devices 306A, 306B to external networks, public networks,and/or the Internet via network 318. For example, network 318 maycommunicate with one or more system servers and/or content servers.First and second media devices 306A, 306B may retrieve streaming mediacontent from one or more content servers for playback on display devices308A, 308B respectively. In at least one embodiment, the communicationdevice 314 is virtual server instance from a public or private cloudnetwork. In an embodiment the communication device 314 is a resourceshared peer-to-peer between media devices 306 and/or mobile devices.

Multimedia environment 300A may also include mobile device 310. Mobiledevice 310 may operate in a similar manner as remote control 110 asdescribed with reference to FIG. 1 . In some embodiments, mobile device310 may be a smartphone, tablet, and/or remote control configured tocommunicate with a media device 306. Mobile device 310 may have aninstalled application configured to provide commands to a media device306. For example, mobile device 310 may be used to select a particularcontent channel for streaming content and/or content from the channel tostream. Mobile device 310 may transmit such commands to a media device306 to retrieve the desired content. In some embodiments, a user maynavigate one or more menus displayed on display device 308A and/or ascreen on mobile device 310 to provide a selection. These menus may begraphical user interfaces. Mobile device 310 and/or media device 306 mayalso include a microphone for a user to provide a verbal command toprovide a selection.

Via a selection using mobile device 310 and/or media device 306A, a usermay indicate a desire to transfer playback of streaming media to mediadevice 306B. For example, a user may be streaming media in a first roomusing first media device 306A. The user may be viewing a movie or TVshow on display device 308A via media device 306A. The user may thenwish to change to a second room or use second media device 306B withdisplay device 308B to continue streaming the media. The user, however,may wish to resume the playback of the streaming media at the sameposition when using the second media device 306B without the burden oflocating the channel, the streaming content, and/or the playbackposition again.

To resume playback of content while avoiding these burdens, first mediadevice 306A may communicate with second media device 306B. For example,first media device 306A may transmit a command via communication device314 to second media device 306B. This command may be a data packettransmitted over a common network such as a home network. For example,first and second media devices 306A, 306B may communicate via a WiFiconnection provided by a router and/or modem.

Using mobile device 310 and/or a verbal command received via mediadevice 306A, the user may supply a command to media device 306Aindicating a transfer of playback to second media device 306B. Thiscommand may be provided by a selection on a menu displayed by firstmedia device 306A on display device 308A. For example, the menupresented may list one or more media device 306 connected to the samecommunication device 314 and/or network 318 as media device 306. Theuser may then provide a selection of the particular media device 306 toresume playback.

In some embodiments, the selection may be a general selection indicatingthat playback will be resumed on another media device 306. In this case,media device 306A may transmit a standby command to other media devices306 on the network 318. This command may preset the other media devices306 to resume playback at the playback position where the user stoppedon media device 306A. The user may then wake the desired media device306 at the location where the user desires to continue watching. Thiswaking may be performed by mobile device 310 and/or a remote controlconfigured to control the desired media device 306B. For example, whenthe user turns on or powers the desired media device 306B, the mediadevice 306B may already be preconfigured to resume playback of thecontent upon powering on. In some embodiments, a remote control mayinclude an accelerometer and/or a gyroscope used to provide commands toa media device 306. When the user picks up the remote control, theremote control may detect a signal generated by these components andissue a power on command in response. Movement of the remote control maybe detected. The remote control may then transmit this power on commandto the desired media device 306B. In this manner, when the user picks upthe remote control, the desired media device 306B may be awoken and mayresume playback at the previous playback position. Media device 306B maymonitor for wake events provided by media device 306A, mobile device310, and/or a remote control. Media device 306B may also awaken displaydevice 308B using, for example, an HDMI CEC command. This awakeningprocess may also occur when the user has provided a selection of aspecific media device 306B to transfer playback.

In some embodiments, media device 306B may resume playback after a setdelay time. For example, the user may identify a particular media device306B causing media device 306A to transmit a wake command and/orplayback information to the selected media device 306B. Media device306B may then awaken and/or wake display device 308B. After a presetdelay, media device 306B may then resume playback using playbackinformation provided by media device 306A. This preset delay may allowthe user time to move from the first location to the second location. Insome embodiments, media device 306B may automatically power on and waitfor a subsequent command from the user to begin playback.

Media device 306B may also be configured to remain in a powered offstate or sleep mode until the user wakes media device 306B. When thisoccurs, media device 306B may exchange messages with media device 306Ato receive the media playback state information to resume playback. Aswill be further explained below, media device 306B may receive the mediaplayback state information from media device 306A and/or mobile device310. The user may wake media device 306B with mobile device 310 and/or aremote control.

To resume playback, media device 306B may receive media playback stateinformation from media device 306A. This media playback stateinformation may include a channel identification; contentidentification; and/or playback position to resume playback of themedia. Media device 306B may use the channel identification and/orcontent identification to identify the particular content previouslyviewed on media device 306A. For example, media devices 306 may receivecontent from different content servers. These content servers may beidentified using a channel identification. The content servers may bedifferent third party content providers. For example, the differentcontent providers may provide different movies and/or TV shows. Usingthe channel identification, media devices 306 may identify the relevantcontent servers to retrieve desired content. Media devices 306 may alsohandle log in credentials used to access content from third partycontent providers. These log in credentials may be specific to thecontent providers and may differ from those used to access media devices306. In some embodiments, a media device 306 may use an API to indicatea start at a particular location. In some embodiments, a media device306 may pass the content identification and/or the playback position toa content provider to begin the playback at the specified position.

Additionally, media devices 306 may use a content identification toidentify particular content from the content servers. The contentidentification may identify a movie, episode of a TV show, and/or otherstreaming media content. Media device 306B may use the channelidentification and/or content identification to identify the contentpreviously being streamed on media device 306A.

Media device 306A may also transmit the playback position correspondingto the content to media device 306B. The playback position may include atimestamp and/or an indication of a timing position corresponding to thestreaming content. For example, media device 306A may record a timingposition when the user indicates that the playback is to be transferredto another media device 306B. In some embodiments, the playback positionmay indicate a timing for a video and/or audio source for the streamingmedia. By including this playback position with the channelidentification and/or content identification, media device 306B mayidentify the specific channel, content, and playback position to resumeplayback. As will be further explained below, media device 306B mayreceive the playback position from media device 306A and/or mobiledevice 310.

In some embodiments, media device 306A may store playback position on asystem server. This system server may reside in a different locationfrom the first and second media devices 306A, 306B and may be accessedvia the Internet or WAN. The system server may track profile informationand/or playback positions corresponding to content viewed by a user. Inthis case, when the user uses the second media device 306B, the secondmedia device 306B may communicate with the system server to receive theplayback position information and/or other media playback stateinformation

While two media devices 306A, 306B are displayed, additional mediadevices 306 may also be connected via communication device 314. A usermay select a particular media device 306 to transfer playback. In someembodiments, a user may provide a selection to broadcast the playbackonto multiple media devices 306. In this case, the multiple mediadevices 306 may receive the media playback state information from mediadevice 306A. The multiple media devices 306 may then play the contentsimultaneously.

In some embodiments, media device 306A may periodically broadcast dataand/or metadata corresponding to a stream to media device 306B and/orother media devices 306 sharing a common network 318 and/or connected tocommunication device 314. The data may be media playback stateinformation and/or may include a channel identification, contentidentification, and/or position information. Media device 306A mayprovide this data in the background without user input. Media device306A may provide this information via network 318 and/or communicationdevice 314. For example, media device 306A may transmit media playbackstate information via a WiFi connection. Media device 306B and/or othermedia devices 306 may listen for broadcast messages from media device306A. Media device 306B and/or other media devices 306 may store themedia playback state information locally. When the user picks up aremote control that is paired to media device 306B, media device 306Bmay prompt the user to provide a resume command. Media device 306B maydetect when the user has picked up the remote control and enter a wakestate. Media device 306B may then provide the prompt. For example, mediadevice 306B may wake and/or provide a display on display device 308Bwith this prompt. The user may provide the resume command via a remotecontrol and/or a mobile device 310. When the user confirms the resume,media device 308B may resume playback using the media playback stateinformation received from media device 308A. Media device 308B may alsotransmit a command to media device 308B which terminates the stream onmedia device 308A. Media device 308B may also turn off display device308A such as a TV coupled to media device 306A.

FIG. 3B illustrates a block diagram of a multimedia environment 300B forchanging streaming playback from a first media device 306A to a secondmedia device 306B via a mobile device 310, according to someembodiments. FIG. 3B depicts a process of transferring playback bystoring media playback state information on mobile device 310. Forexample, while interacting with media device 306A, a user may use anapplication on mobile device 310 to indicate that playback should betransferred to another media device 306. Media device 306A may thendownload the media playback state information to the mobile device 310.The user may then transmit this media playback state information toanother media device 306B to resume playback of the content at theplayback position previously identified by media device 306A. Thecomponents of multimedia environment 300B may be similar to thosedescribed with reference to FIG. 3A.

In some embodiments, rather than media device 306A transmitting themedia playback state information to media device 306B, media device 306Amay download the media playback state information to an applicationstored on mobile device 310. As previously explained, mobile device 310may be a smartphone, tablet, or remote control. The media playback stateinformation may include a channel identification, contentidentification, and/or playback position information. To initiate thedownload, mobile device 310 may transmit a command to media device 306Ato transfer playback. For example, the user may use mobile device 310 toprovide a menu selection and/or a verbal command. The menu selection maybe applied via a graphical user interface displayed on mobile device 310and/or on display device 308A by media device 306A. The menu selectionmay specifically identify media device 306B and/or may generallyindicate that playback is to be transferred. For example, the command totransfer playback of the media may be non-specific to media device 306B.Rather, the command may be a general command and the user may lateridentify media device 306B using mobile device 310 when the user wishesto transmit the media playback state information.

Upon receiving a command to transfer playback, media device 306A maythen transmit the media playback state information indicating a playbackposition to mobile device 310. For example, media device 306A mayperform a snapshot memory of a particular channel and/or use a featurein a Linux kernel to preserve the playback position. Mobile device 310may store this media playback state information in memory. The user maythen bring mobile device 310 to another room with media device 306B.Mobile device 310 may then transmit the media playback state informationto media device 306B to resume playback. The media playback stateinformation may include a channel identification, contentidentification, and/or playback position information. Using thisinformation, media device 306B may identify the particular contentserver and/or content to retrieve the content to stream. Media device306B may also identify the same playback position identified by mediadevice 306A. This may occur in a manner similar to that described withreference to FIG. 3A.

In some embodiments, mobile device 310 may be a remote controlcorresponding to media device 306A. Media device 306A may transmit themedia playback state information to the remote control. The remotecontrol may then transmit this media playback state information to mediadevice 306B. This may allow the remote control to provide a command tomedia device 306B even when media device 306B has its own correspondingremote control. This may be used when the remote control is in closeproximity to both media devices 306A and 306B.

FIG. 4 illustrates a flowchart depicting a method 400 for transferringmedia playback from a first media device to a second media device,according to some embodiments. Method 400 shall be described withreference to FIG. 1 , FIG. 2 , and FIG. 3A; however, method 400 is notlimited to that example embodiment.

In an embodiment, a first media device 306A may transfer playback ofstreaming media content to a second media device 306B. Method 400 mayprovide a process for transferring playback while resuming playback atthe playback position where streaming is stopped at the first mediadevice 306A. While method 400 is described with reference to first mediadevice 306A, method 400 may be executed on any computing device, suchas, for example, the computer system described with reference to FIG. 7and/or processing logic that may comprise hardware (e.g., circuitry,dedicated logic, programmable logic, microcode, etc.), software (e.g.,instructions executing on a processing device), or a combinationthereof.

It is to be appreciated that not all steps may be needed to perform thedisclosure provided herein. Further, some of the steps may be performedsimultaneously, or in a different order than shown in FIG. 4 , as willbe understood by a person of ordinary skill in the art.

At 410, first media device 306A may receive a command to transferplayback of media to a second media device 306B. A user may supply thiscommand to first media device 306A via a mobile device 310 and/or aremote control. For example, a graphical user interface menu may bedisplayed on mobile device 310 and/or on display device 308A allowing auser to provide a selection to transfer playback. In some embodiments,the command may be received via a verbal command. The selection mayspecify second media device 306B and/or may generally indicate thatplayback is to be transferred to another media device 306. Based onreceiving the command, first media device 306A may cease playback andgenerating a packet or message including media playback stateinformation. This media playback state information may include aplayback position, channel identification, and/or contentidentification.

At 420, first media device 306A may identify the second media device306B based on the first media device 306A and the second media device306B sharing a common network. As will be further described below,mobile device 310 may identify second media device 306B. In someembodiments, the common network may be provided by communication device314. Media devices connected to communication device 314 may beconnected to the common network. First media device 306A may identifysecond media device 306B based on a user selection of second mediadevice 306B. For example, first media device 306A may detect the mediadevices 306 connected to the common network and may provide these mediadevices 306 as a selection for the user. The user may then select secondmedia device 306B from a menu provided by first media device 306A.

In some embodiments, first media device 306A may identify second mediadevice 306B by scanning the network after a user has provided a commandto transfer playback. For example, the user may generally indicate thatplayback is to be transferred to another media device 306 on the commonnetwork. The user, however, may not identify a specific media device306. Rather, the user may approach a desired media device 306 andinteract with that media device 306. This interaction may then indicatedthe desired media device 306. In this case, at 420, first media device306A may identify the media devices 306 on the common network to presetthem to resume playback when the user approaches the desired mediadevice 306.

In some embodiments, mobile device 310 may identify second media device306B. For example, mobile device 310 may communicate with first mediadevice 306A to identify second media device 306B for first media device306A. Mobile device 310 may identify second media device 306B as sharinga common network with mobile device 310. Mobile device 310 may display alist and/or menu including second media device 306B. A user using mobiledevice 310 may select second media device 306B from the menu.

At 430, the first media device 306A may transmit, to the second mediadevice 306B via the common network, a command to wake the second mediadevice 306B. First media device 306A may send a message over the commonnetwork to communicate with second media device 306B. This command mayturn on or power on the second media device 306B. Second media device306B may also power on a corresponding display device 308B. In someembodiments, this command may place second media device 306B in astandby mode. For example, this standby mode may place second mediadevice 306B in a state to be woken up by mobile device 310 and/or acorresponding remote. This standby mode may allow second media device306B to preload the streaming content as well as the playback positionwhile waiting for the user to interact with second media device 306B.

At 440, the first media device 306A may transmit to the second mediadevice 306B media playback state information indicating a playbackposition to resume playback of the media on the second media device306B. The media playback state information may also include a channelidentification and/or content identification. Using the media playbackstate information, the second media device 306B may retrieve the contentfrom a content server. For example, the second media device 306B mayidentify a third party content provider to retrieve the contentpreviously being viewed via first media device 306A. Using thisinformation, second media device 306B may preload the content as well asthe playback position for the user to resume playback using second mediadevice 306B.

For example, second media device 306B may retrieve and buffer thecontent with a preset delay allowing the user to enter the room with thesecond media device 306B. In some embodiments, second media device 306Bmay preload the content at the playback position and wait for a commandfrom mobile device 310 and/or a remote control before resuming playback.For example, second media device 306B may remain in standby mode withcontent preloaded until a user interacts with mobile device 310 and/orthe corresponding remote control. This situation may occur when a secondmedia device 306B has not been identified by the user, and first mediadevice 306A may be preparing each of the media devices 306 on the commonnetwork to resume playback.

In this manner, first media device 306A may transmit media playbackstate information to second media device 306B to resume playback. Aftertransmitting this playback information, first media device 306A mayenter a sleep mode, power off, and/or power off a corresponding displaydevice 308A. For example, if first media device 306A is connected todisplay device 306B via an HDMI connection, first media device 306A maytransmit an HDMI CEC command and/or stop sending a video signal.

FIG. 5 illustrates interactions 500 (that is, signals) between a mobiledevice application 315, a first media device 306A, and a second mediadevice 306B to transfer media playback via the mobile device application315, according to some embodiments. Interactions 500 may occur in amanner similar to that described with reference to FIG. 3B. In thiscase, playback may be transferred from first media device 306A to secondmedia device 306B by downloading media playback state information tomobile device application 315. Mobile device application 315 may be anapplication installed on mobile device 310.

At 510, mobile device application 315 may be interacting with mediadevice 306A. For example, mobile device application 315 may be used toidentify particular content to stream on media device 306A. This contentmay be identified using one or more graphical user interfaces, which mayinclude menus and/or search boxes. In some embodiments, this interactionmay occur via verbal commands.

At 520, while streaming content, mobile device application 315 may beused to indicate that playback is to be transferred to another mediadevice 306. This indication may be a selection within mobile deviceapplication 315. In some embodiments, this selection may identify theparticular media device 306 which will resume playback. In someembodiments, this selection may be a general indication of transferwithout specifying a particular media device 306. Mobile deviceapplication 315 may provide this indication via a selection on agraphical user interface displayed on mobile device application 315and/or on display device 308A. In some embodiments, a remote controlother than mobile device 310 may provide this indication. The mediaplayback state information may still be downloaded onto mobile deviceapplication 315.

At 530, media device 306A may download the media playback stateinformation onto mobile device application 315. For example, mediadevice 306A may pause the currently streaming content and identify aplayback position. Media device 306A may then download this playbackposition to mobile device application 315. This downloading may occurvia a wireless connection. For example, if mobile device 310 isconnected to the same network as media device 306A, media device 306Amay transmit a message over the network to download the media playbackstate information onto mobile device application 315. In someembodiments, media device 306A may transmit a message directly to mobiledevice 310 using an agreed upon wireless communication protocol. Thisprotocol may not rely on the network to transmit the media playbackstate information. As previously explained, the media playback stateinformation may include a channel identification, contentidentification, and/or playback position information. Mobile deviceapplication 315 may store this information locally in mobile device 310.

At 540, media device 306A may enter a sleep mode, power off, or powerdown. For example, upon transferring the playback position to mobiledevice application 315, media device 306A may enter a standby mode or apowered off mode to conserve power. The transfer of the playbackinformation may indicate that media device 306A is to no longer streamthe content.

At 550, mobile device application 315 may transmit the media playbackstate information to media device 306B. In some embodiments, mobiledevice application 315 may also transmit a wake command to media device306B. This wake command may power on media device 306B and/orcorresponding display device 308B. Media device 306B may also use themedia playback state information to retrieve the content previouslyplayed and load the content at the particular playback position. Forexample, media device 306B may use the channel identification toidentify the particular content provider. This channel identificationmay specify an address and/or identification for a content server toretrieve the content. For example, the channel identification mayspecify a third party content provider. Media device 306B may also use acontent identification to identify the particular content to retrieve.This content identification may identify content provided by the contentprovider specified by the channel identification. In some embodiments,media device 306B may be able to use the content identification toidentify the content and/or the content provider without using thechannel identification.

Upon identifying the content that was previously played on media device306A, media device 306B may use the playback position information tobegin playing the content on media device 306B at the specifiedposition. The playback position information may be a timestamp and/or anindication of a timing position to begin playback. The playback positioninformation may include a timing for an audio and/or video componentcorresponding to the content. For example, media device 306B may loadthe particular content using the channel identification and/or thecontent identification. Media device 306B may then skip to the playbackposition indicated by media device 306A using the provided timinginformation. In this manner, media device 306B may resume playback atthe specified timing.

FIG. 6 illustrates a flowchart depicting a method 600 for transferringmedia playback from a first media device 306A to a second media device306B via a mobile device application 315, according to some embodiments.Method 600 shall be described with reference to FIG. 1 , FIG. 2 , FIG.3B, and FIG. 5 : however, method 600 is not limited to that exampleembodiment.

Method 600 may provide a process for transferring playback bydownloading media playback state information to a mobile device 310.Mobile device application 315 may be installed on mobile device 310.While method 600 is described with reference to mobile deviceapplication 315, method 600 may be executed on any computing device,such as, for example, the computer system described with reference toFIG. 7 and/or processing logic that may comprise hardware (e.g.,circuitry, dedicated logic, programmable logic, microcode, etc.),software (e.g., instructions executing on a processing device), or acombination thereof.

It is to be appreciated that not all steps may be needed to perform thedisclosure provided herein. Further, some of the steps may be performedsimultaneously, or in a different order than shown in FIG. 6 , as willbe understood by a person of ordinary skill in the art.

At 610, mobile device application 315 on mobile device 310 may transmitto first media device 306A a command to transfer playback of media fromthe first media device 306A to a second media device 306B. As explainedwith reference to FIG. 3B and FIG. 5 , this selection may be performedvia a graphical user interface menu selection and/or a verbal command.Upon receiving this command, first media device 306A may package mediaplayback state information to download onto mobile device application315. This media playback state information may include a channelidentification, a content identification, and/or a playback position.The playback position may be a timestamp or an indication of a timecorresponding to when the mobile device application 315 transmitted thecommand to transfer playback.

At 620, the mobile device application 315 on mobile device 310 mayreceive from the first media device 306A the media playback stateinformation indicating a playback position to resume playback of themedia on the second media device 306B. First media device 306A maydownload the media playback state information onto mobile device 310 asdescribed with reference to FIG. 3B and FIG. 5 . Mobile device 310 maystore this information in local memory. Mobile device application 315may also display this information indicating that it has been stored onmobile device 310. In some embodiments, mobile device application 315may display a confirmation when the media playback state information hasbeen stored.

At 630, mobile device application 315 may transmit to the second mediadevice 306B the media playback state information to resume playback ofthe media at the playback position on the second media device 306B. Thistransmission may occur in a manner similar to the transmission describedwith reference to FIG. 3B and FIG. 5 . In some embodiments, mobiledevice application 315 may generate a graphical user interface with aprompt asking the user to identify the second media device 306B. Thisprompt may include a menu listing the media devices 306 associated witha network common to the first media device 306A and/or the mobile device310. Upon selection of the second media device 306B, mobile deviceapplication 315 may transmit the media playback state information.

For example, mobile device application 315 may transmit the channelidentification, content identification, and/or the playback position tothe second media device 306B. This may occur via a network shared by themobile device 310 and the second media device 306B. In some embodiments,mobile device 310 and second media device 306B may communicate via awireless communication protocol. Mobile device 310 may then transmit amessage with the media playback state information to the second mediadevice 306B to resume playback. The second media device 306B may thenuse this information to identify the particular content and resumeplayback at the provided playback position.

Example Computer System

Various embodiments may be implemented, for example, using one or morewell-known computer systems, such as computer system 700 shown in FIG. 7. For example, the media device 106 may be implemented usingcombinations or sub-combinations of computer system 700. Also oralternatively, one or more computer systems 700 may be used, forexample, to implement any of the embodiments discussed herein, as wellas combinations and sub-combinations thereof.

Computer system 700 may include one or more processors (also calledcentral processing units, or CPUs), such as a processor 704. Processor704 may be connected to a communication infrastructure or bus 706.

Computer system 700 may also include user input/output device(s) 703,such as monitors, keyboards, pointing devices, etc., which maycommunicate with communication infrastructure 706 through userinput/output interface(s) 702.

One or more of processors 704 may be a graphics processing unit (GPU).In an embodiment, a GPU may be a processor that is a specializedelectronic circuit designed to process mathematically intensiveapplications. The GPU may have a parallel structure that is efficientfor parallel processing of large blocks of data, such as mathematicallyintensive data common to computer graphics applications, images, videos,etc.

Computer system 700 may also include a main or primary memory 708, suchas random access memory (RAM). Main memory 708 may include one or morelevels of cache. Main memory 708 may have stored therein control logic(i.e., computer software) and/or data.

Computer system 700 may also include one or more secondary storagedevices or memory 710. Secondary memory 710 may include, for example, ahard disk drive 712 and/or a removable storage device or drive 714.Removable storage drive 714 may be a floppy disk drive, a magnetic tapedrive, a compact disk drive, an optical storage device, tape backupdevice, and/or any other storage device/drive.

Removable storage drive 714 may interact with a removable storage unit718.

Removable storage unit 718 may include a computer usable or readablestorage device having stored thereon computer software (control logic)and/or data. Removable storage unit 718 may be a floppy disk, magnetictape, compact disk, DVD, optical storage disk, and/any other computerdata storage device. Removable storage drive 714 may read from and/orwrite to removable storage unit 718.

Secondary memory 710 may include other means, devices, components,instrumentalities or other approaches for allowing computer programsand/or other instructions and/or data to be accessed by computer system700. Such means, devices, components, instrumentalities or otherapproaches may include, for example, a removable storage unit 722 and aninterface 720. Examples of the removable storage unit 722 and theinterface 720 may include a program cartridge and cartridge interface(such as that found in video game devices), a removable memory chip(such as an EPROM or PROM) and associated socket, a memory stick and USBor other port, a memory card and associated memory card slot, and/or anyother removable storage unit and associated interface.

Computer system 700 may further include a communication or networkinterface 724. Communication interface 724 may enable computer system700 to communicate and interact with any combination of externaldevices, external networks, external entities, etc. (individually andcollectively referenced by reference number 728). For example,communication interface 724 may allow computer system 700 to communicatewith external or remote devices 728 over communications path 726, whichmay be wired and/or wireless (or a combination thereof), and which mayinclude any combination of LANs, WANs, the Internet, etc. Control logicand/or data may be transmitted to and from computer system 700 viacommunication path 726.

Computer system 700 may also be any of a personal digital assistant(PDA), desktop workstation, laptop or notebook computer, netbook,tablet, smart phone, smart watch or other wearable, appliance, part ofthe Internet-of-Things, and/or embedded system, to name a fewnon-limiting examples, or any combination thereof.

Computer system 700 may be a client or server, accessing or hosting anyapplications and/or data through any delivery paradigm, including butnot limited to remote or distributed cloud computing solutions; local oron-premises software (“on-premise” cloud-based solutions); “as aservice” models (e.g., content as a service (CaaS), digital content as aservice (DCaaS), software as a service (SaaS), managed software as aservice (MSaaS), platform as a service (PaaS), desktop as a service(DaaS), framework as a service (FaaS), backend as a service (BaaS),mobile backend as a service (MBaaS), infrastructure as a service (IaaS),etc.); and/or a hybrid model including any combination of the foregoingexamples or other services or delivery paradigms.

Any applicable data structures, file formats, and schemas in computersystem 700 may be derived from standards including but not limited toJavaScript Object Notation (JSON), Extensible Markup Language (XML), YetAnother Markup Language (YAML), Extensible Hypertext Markup Language(XHTML), Wireless Markup Language (WML), MessagePack, XML User InterfaceLanguage (XUL), or any other functionally similar representations aloneor in combination. Alternatively, proprietary data structures, formatsor schemas may be used, either exclusively or in combination with knownor open standards.

In some embodiments, a tangible, non-transitory apparatus or article ofmanufacture comprising a tangible, non-transitory computer useable orreadable medium having control logic (software) stored thereon may alsobe referred to herein as a computer program product or program storagedevice. This includes, but is not limited to, computer system 700, mainmemory 708, secondary memory 710, and removable storage units 718 and722, as well as tangible articles of manufacture embodying anycombination of the foregoing. Such control logic, when executed by oneor more data processing devices (such as computer system 700 orprocessor(s) 704), may cause such data processing devices to operate asdescribed herein.

Based on the teachings contained in this disclosure, it will be apparentto persons skilled in the relevant art(s) how to make and useembodiments of this disclosure using data processing devices, computersystems and/or computer architectures other than that shown in FIG. 7 .In particular, embodiments can operate with software, hardware, and/oroperating system implementations other than those described herein.

CONCLUSION

It is to be appreciated that the Detailed Description section, and notany other section, is intended to be used to interpret the claims. Othersections can set forth one or more but not all exemplary embodiments ascontemplated by the inventor(s), and thus, are not intended to limitthis disclosure or the appended claims in any way.

While this disclosure describes exemplary embodiments for exemplaryfields and applications, it should be understood that the disclosure isnot limited thereto. Other embodiments and modifications thereto arepossible, and are within the scope and spirit of this disclosure. Forexample, and without limiting the generality of this paragraph,embodiments are not limited to the software, hardware, firmware, and/orentities illustrated in the figures and/or described herein. Further,embodiments (whether or not explicitly described herein) havesignificant utility to fields and applications beyond the examplesdescribed herein.

Embodiments have been described herein with the aid of functionalbuilding blocks illustrating the implementation of specified functionsand relationships thereof. The boundaries of these functional buildingblocks have been arbitrarily defined herein for the convenience of thedescription. Alternate boundaries can be defined as long as thespecified functions and relationships (or equivalents thereof) areappropriately performed. Also, alternative embodiments can performfunctional blocks, steps, operations, methods, etc. using orderingsdifferent than those described herein.

References herein to “one embodiment,” “an embodiment,” “an exampleembodiment,” or similar phrases, indicate that the embodiment describedmay include a particular feature, structure, or characteristic, butevery embodiment may not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Further, when a particular feature,structure, or characteristic is described in connection with anembodiment, it would be within the knowledge of persons skilled in therelevant art(s) to incorporate such feature, structure, orcharacteristic into other embodiments whether or not explicitlymentioned or described herein. Additionally, some embodiments can bedescribed using the expression “coupled” and “connected” along withtheir derivatives. These terms are not necessarily intended as synonymsfor each other. For example, some embodiments can be described using theterms “connected” and/or “coupled” to indicate that two or more elementsare in direct physical or electrical contact with each other. The term“coupled,” however, can also mean that two or more elements are not indirect contact with each other, but yet still co-operate or interactwith each other.

The breadth and scope of this disclosure should not be limited by any ofthe above-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

1. (canceled)
 2. A computer-implemented method for transferring playbackof streaming media, comprising: receiving, by at least one computerprocessor at a second media device, a command transmitted by a firstmedia device indicating transfer of media playback from the first mediadevice to the second media device; receiving, at the second media deviceand from the first media device, media playback state informationindicating a playback position of media streaming on the first mediadevice; detecting, at the second media device, a user interaction with aremote control device paired with the second media device; in responseto the detecting, resuming streaming of the media on the second mediadevice at the playback position according to the media playback stateinformation; and transmitting, from the second media device to the firstmedia device, a command to power off a display device coupled to thefirst media device.
 3. The computer-implemented method of claim 2,wherein the command transmitted by the first media device indicating thetransfer of media playback is received at the second media device via aWiFi router.
 4. The computer-implemented method of claim 2, wherein thecommand transmitted by the first media device indicating the transfer ofmedia playback is received at the second media device via a serverresiding in a geographic location that differs from the first mediadevice and the second media device.
 5. The computer-implemented methodof claim 2, wherein the command transmitted by the first media deviceindicating the transfer of media playback is received at the secondmedia device as a broadcast message transmitted from the first mediadevice to a plurality of media devices.
 6. The computer-implementedmethod of claim 2, wherein the media playback state information includesa channel identification corresponding to a content provider.
 7. Thecomputer-implemented method of claim 2, wherein the resuming thestreaming of the media comprises: accessing a content server via an APIcommand using the media playback state information.
 8. Thecomputer-implemented method of claim 2, wherein the detecting the userinteraction with the remote control device comprises: receiving, at thesecond media device, a power on command from the remote control devicegenerated in response to an accelerometer or gyroscope sensor signalgenerated at the remote control device.
 9. A second media device,comprising: one or more memories; and at least one processor eachcoupled to at least one of the memories and configured to performoperations comprising: establishing a paired connection with a remotecontrol device; receiving a command transmitted by a first media deviceindicating transfer of media playback from the first media device to thesecond media device; receiving, from the first media device, mediaplayback state information indicating a playback position of mediastreaming on the first media device; detecting a user interaction withthe remote control device; in response to the detecting, resumingstreaming of the media at the playback position according to the mediaplayback state information; and transmitting, to the first media device,a command to power off a display device coupled to the first mediadevice.
 10. The second media device of claim 9, wherein the commandtransmitted by the first media device indicating the transfer of mediaplayback is received at the second media device via a WiFi router. 11.The second media device of claim 9, wherein the command transmitted bythe first media device indicating the transfer of media playback isreceived at the second media device via a server residing in ageographic location that differs from the first media device and thesecond media device.
 12. The second media device of claim 9, wherein thecommand transmitted by the first media device indicating the transfer ofmedia playback is received at the second media device as a broadcastmessage transmitted from the first media device to a plurality of mediadevices.
 13. The second media device of claim 9, wherein the mediaplayback state information includes a channel identificationcorresponding to a content provider.
 14. The second media device ofclaim 9, wherein the resuming the streaming of the media comprises:accessing a content server via an API command using the media playbackstate information.
 15. The second media device of claim 9, wherein thedetecting the user interaction with the remote control device comprises:receiving a power on command from the remote control device generated inresponse to an accelerometer or gyroscope sensor signal generated at theremote control device.
 16. A non-transitory computer-readable mediumhaving instructions stored thereon that, when executed by at least onecomputing device, cause the at least one computing device to performoperations comprising: receiving, at the at least one computing device,a command transmitted by a media device indicating transfer of mediaplayback from the media device to the at least one computing device;receiving, at the at least one computing device and from the mediadevice, media playback state information indicating a playback positionof media streaming on the media device; detecting, at the at least onecomputing device, a user interaction with a remote control device pairedwith the at least one computing device; in response to the detecting,resuming streaming of the media on the at least one computing device atthe playback position according to the media playback state information;and transmitting, from the at least one computing device to the mediadevice, a command to power off a display device coupled to the mediadevice.
 17. The non-transitory computer readable medium of claim 16,wherein the command transmitted by the media device indicating thetransfer of media playback is received at the at least one computingdevice via a WiFi router.
 18. The non-transitory computer readablemedium of claim 16, wherein the command transmitted by the media deviceindicating the transfer of media playback is received at the at leastone computing device via a server residing in a geographic location thatdiffers from the media device and the at least one computing device. 19.The non-transitory computer readable medium of claim 16, wherein thecommand transmitted by the media device indicating the transfer of mediaplayback is received at the at least one computing device as a broadcastmessage transmitted from the media device to a plurality of mediadevices.
 20. The non-transitory computer readable medium of claim 16,wherein the resuming the streaming of the media comprises: accessing acontent server via an API command using the media playback stateinformation.
 21. The non-transitory computer readable medium of claim16, wherein the detecting the user interaction with the remote controldevice comprises: receiving, at the at least one computing device, apower on command from the remote control device generated in response toan accelerometer or gyroscope sensor signal generated at the remotecontrol device.